{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2025-01-09T06:07:07.500174Z",
     "start_time": "2025-01-09T06:07:07.486065Z"
    }
   },
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import time"
   ],
   "outputs": [],
   "execution_count": 3
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-09T06:07:24.277201Z",
     "start_time": "2025-01-09T06:07:23.755190Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.array(range(10))\n",
    "y = np.sin(x)\n",
    "\n",
    "# 折线图\n",
    "plt.figure(figsize=(10, 6))\n",
    "plt.subplot(231)\n",
    "plt.plot(x, y, label=\"Sin(x)\", color=\"blue\")\n",
    "plt.title(\"折线图\")\n",
    "plt.legend()\n",
    "\n",
    "# 散点图\n",
    "plt.subplot(232)\n",
    "plt.scatter(x, y, label=\"Points\", color=\"red\")\n",
    "plt.title(\"散点图\")\n",
    "plt.legend()\n",
    "\n",
    "# 条形图\n",
    "plt.subplot(233)\n",
    "categories = ['A', 'B', 'C', 'D']\n",
    "values = [5, 7, 6, 8]\n",
    "plt.bar(categories, values, color=\"green\")\n",
    "plt.title(\"条形图\")\n",
    "\n",
    "# 直方图\n",
    "plt.subplot(234)\n",
    "data = np.random.randn(1000)\n",
    "plt.hist(data, bins=30, color=\"purple\")\n",
    "plt.title(\"直方图\")\n",
    "\n",
    "# 饼状图\n",
    "plt.subplot(235)\n",
    "labels = ['Python', 'C++', 'Java', 'Ruby']\n",
    "sizes = [215, 130, 245, 210]\n",
    "plt.pie(sizes, labels=labels, autopct='%1.1f%%')\n",
    "plt.title(\"饼状图\")\n",
    "\n",
    "plt.show()\n"
   ],
   "id": "6865038c6182269b",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1000x600 with 5 Axes>"
      ],
      "image/png": "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\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-09T06:13:56.159426Z",
     "start_time": "2025-01-09T06:13:55.839302Z"
    }
   },
   "cell_type": "code",
   "source": [
    "size = 10**6\n",
    "data_list = list(range(size))\n",
    "data_array = np.array(data_list)\n",
    "\n",
    "# 使用 Python 计算\n",
    "start_time = time.time()\n",
    "result_list = [x**2 for x in data_list]\n",
    "python_time = time.time() - start_time\n",
    "\n",
    "# 使用 Numpy 计算\n",
    "start_time = time.time()\n",
    "result_array = data_array**2\n",
    "numpy_time = time.time() - start_time\n",
    "\n",
    "print(f\"Python 时间: {python_time:.5f} 秒\")\n",
    "print(f\"Numpy 时间: {numpy_time:.5f} 秒\")\n"
   ],
   "id": "54a1aa811b6610a1",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Python 时间: 0.22185 秒\n",
      "Numpy 时间: 0.00200 秒\n"
     ]
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-09T06:17:23.706011Z",
     "start_time": "2025-01-09T06:17:23.689211Z"
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "# 一维数组\n",
    "arr1 = np.array([1, 2, 3, 4, 5])\n",
    "print(\"一维数组:\", arr1)\n",
    "\n",
    "# 二维数组\n",
    "arr2 = np.array([[1, 2, 3], [4, 5, 6]])\n",
    "print(\"二维数组:\\n\", arr2)\n",
    "\n",
    "# 属性\n",
    "print(\"形状:\", arr2.shape)\n",
    "print(\"维度:\", arr2.ndim)\n",
    "print(\"数据类型:\", arr2.dtype)\n",
    "\n",
    "# 形状调整\n",
    "arr2_reshaped = arr2.reshape(3, 2)\n",
    "print(\"调整形状后的数组:\\n\", arr2_reshaped)\n",
    "\n",
    "# 与 Python list 的转换\n",
    "list_from_array = arr1.tolist()\n",
    "array_from_list = np.array(list_from_array)\n",
    "print(\"Python list 转 Numpy 数组:\", array_from_list)\n",
    "print(\"Numpy 数组转 Python list:\", list_from_array)"
   ],
   "id": "964df24ebd8030dd",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "一维数组: [1 2 3 4 5]\n",
      "二维数组:\n",
      " [[1 2 3]\n",
      " [4 5 6]]\n",
      "形状: (2, 3)\n",
      "维度: 2\n",
      "数据类型: int32\n",
      "调整形状后的数组:\n",
      " [[1 2]\n",
      " [3 4]\n",
      " [5 6]]\n",
      "Python list 转 Numpy 数组: [1 2 3 4 5]\n",
      "Numpy 数组转 Python list: [1, 2, 3, 4, 5]\n"
     ]
    }
   ],
   "execution_count": 7
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-09T06:20:54.378665Z",
     "start_time": "2025-01-09T06:20:54.362150Z"
    }
   },
   "cell_type": "code",
   "source": [
    "arr1 = np.array([1, 2, 3], dtype=np.float64)\n",
    "arr2 = np.array([4, 5, 6])\n",
    "\n",
    "# 数据类型\n",
    "print(\"数组1的数据类型:\", arr1.dtype)\n",
    "print(\"数组2的数据类型:\", arr2.dtype)\n",
    "\n",
    "# 数组与标量运算\n",
    "print(\"数组1 * 2:\", arr1 * 2)\n",
    "\n",
    "# 数组与数组运算\n",
    "print(\"数组1 + 数组2:\", arr1 + arr2)\n",
    "\n",
    "# 理解数组轴\n",
    "arr3 = np.array([[1, 2, 3], [4, 5, 6]])\n",
    "print(\"按行求和 (axis=1):\", np.sum(arr3, axis=1))\n",
    "print(\"按列求和 (axis=0):\", np.sum(arr3, axis=0))"
   ],
   "id": "db78c809f2a5782",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数组1的数据类型: float64\n",
      "数组2的数据类型: int32\n",
      "数组1 * 2: [2. 4. 6.]\n",
      "数组1 + 数组2: [5. 7. 9.]\n",
      "按行求和 (axis=1): [ 6 15]\n",
      "按列求和 (axis=0): [5 7 9]\n"
     ]
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-01-09T06:21:22.902155Z",
     "start_time": "2025-01-09T06:21:22.894654Z"
    }
   },
   "cell_type": "code",
   "source": [
    "arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n",
    "print(\"原始数组:\\n\", arr)\n",
    "\n",
    "# 索引\n",
    "print(\"第1行第2列元素:\", arr[0, 1])\n",
    "\n",
    "# 切片\n",
    "print(\"第一行:\", arr[0, :])\n",
    "print(\"第一列:\", arr[:, 0])\n",
    "print(\"子数组:\\n\", arr[1:, 1:])\n",
    "\n",
    "# 数值修改\n",
    "arr[0, 0] = 99\n",
    "print(\"修改后的数组:\\n\", arr)"
   ],
   "id": "64e941c261b7b7eb",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "原始数组:\n",
      " [[1 2 3]\n",
      " [4 5 6]\n",
      " [7 8 9]]\n",
      "第1行第2列元素: 2\n",
      "第一行: [1 2 3]\n",
      "第一列: [1 4 7]\n",
      "子数组:\n",
      " [[5 6]\n",
      " [8 9]]\n",
      "修改后的数组:\n",
      " [[99  2  3]\n",
      " [ 4  5  6]\n",
      " [ 7  8  9]]\n"
     ]
    }
   ],
   "execution_count": 10
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
